﻿#define _CRT_SECURE_NO_WARNINGS 1

#include <iostream>
#include <vector>
#include <set>
using namespace std;


int solution(int n, std::vector<int> nums) {
    // 使用集合来自动去重并排序
    set<int> uniqueNums;

    for (int num : nums)
    {
        uniqueNums.insert(num);
    }

    // 如果集合中的元素数量大于等于3，返回第三大的元素
    if (uniqueNums.size() >= 3) {
        auto it = uniqueNums.rbegin();
        advance(it, 2); // 移动到第三大的元素
        return *it;
    }

    // 否则返回最大的元素
    else
    {
        return *uniqueNums.rbegin();
    }
}
int main() {
    std::cout << (solution(3, { 3, 2, 1 }) == 1) << std::endl;
    std::cout << (solution(2, { 1, 2 }) == 2) << std::endl;
    std::cout << (solution(4, { 2, 2, 3, 1 }) == 1) << std::endl;
    return 0;
}